Utilities/API/jQuery
jQuery.grep(array, callback, [invert])
配列中から、フィルタ関数を指定して特定の値だけを残した配列を返します。
コールバックされるフィルタ関数は、2つの引数を受け取ります。
1番目に渡されるのは、配列中の値そのものです。
2番目に渡されるのは、配列のインデックスです。
関数は受け取った値を配列中に残したければtrueを、除去したければfalseを返す必要があります。
但し、grep関数の第三引数のinvertにtrueを指定するとこの動作は逆になり、trueが除去、falseが残す処理になります。
コールバックされるフィルタ関数は、2つの引数を受け取ります。
1番目に渡されるのは、配列中の値そのものです。
2番目に渡されるのは、配列のインデックスです。
関数は受け取った値を配列中に残したければtrueを、除去したければfalseを返す必要があります。
但し、grep関数の第三引数のinvertにtrueを指定するとこの動作は逆になり、trueが除去、falseが残す処理になります。
サンプル
サンプル1
配列中から、値が5以外であり、添え字が4より大きいものだけを残した配列を作成します。
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ]; $("div").text(arr.join(", ")); arr = jQuery.grep(arr, function(n, i){ return (n != 5 && i > 4); }); $("p").text(arr.join(", ")); arr = jQuery.grep(arr, function (a) { return a != 9; }); $("span").text(arr.join(", "));
[全コードを表示]
[実行結果を単体で表示]